﻿Public Class ucClientePesquisa

#Region "Eventos públicos acessados pelo formulário de cadastro"
    Public Event Incluir()
    Public Event Sair()
    Public Event Visualizar(ByVal cliente As Model.PessoaPesquisa)
#End Region


#Region "Metodos privados do UC"
    Private Sub Pesquisa()
        Dim ctrl As New Control.Cliente

        'Dim ListaPessoa As IList(Of Model.Pessoa)
        'ListaPessoa = ctrl.ListaTudo
        ' Já tem filtro no Control.Cliente.ListaTudo para trazer somente os cliente e inativos
        'bsCliente.DataSource = ListaPessoa
        'dgvCliente.DataSource = ListaPessoa

        'bsCliente.DataSource = ctrl.ListaTudo()
        bsCliente.DataSource = ctrl.ListaByNomeCPFCNPJ(txtNome.Text, txtCPFCNPJ.Text)
        dgvCliente.DataSource = bsCliente
    End Sub

    Private Sub ExcluirCliente()
        If CType(bsCliente.Current, Model.PessoaPesquisa) IsNot Nothing Then
            Dim control As New Control.Cliente
            If Dialog.QuestionYesNo("Deseja realmente remover este registro?") = Windows.Forms.DialogResult.Yes And Not bsCliente.Current Is Nothing Then
                If Not control.ExcluirPesquisa(CType(bsCliente.Current, Model.PessoaPesquisa)) Then
                    MessageBox.Show("Não foi possivel remover pois há relacionamentos.")
                End If
            End If

            control = Nothing
            Pesquisa()
        End If
    End Sub

    Private Sub Visualiza()
        'MessageBox.Show(CType(bsCliente.Current, Model.Pessoa).pessoa_nomecomercial)
        If CType(bsCliente.Current, Model.PessoaPesquisa) IsNot Nothing Then
            RaiseEvent Visualizar(CType(bsCliente.Current, Model.PessoaPesquisa))
        End If
    End Sub
#End Region

#Region "Eventos privados dos objetos visuais"
    Private Sub btnIncluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIncluir.Click
        RaiseEvent Incluir()
    End Sub

    Private Sub btnAlterar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAlterar.Click
        Visualiza()
    End Sub

    Private Sub btnRemover_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemover.Click
        ExcluirCliente()
    End Sub

    Private Sub btnPesquisar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPesquisar.Click
        Pesquisa()
    End Sub

    Private Sub btnSair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSair.Click
        RaiseEvent Sair()
    End Sub

    Private Sub dgvCliente_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgvCliente.DoubleClick
        Visualiza()
    End Sub

    Private Sub dgvCliente_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles dgvCliente.KeyDown
        Select Case e.KeyCode
            Case Keys.Up, Keys.Down, Keys.Left, Keys.Right
                Exit Sub
        End Select
        txtNome.Focus()

        'LibLocalizarSimples1.TextLocalizar.Focus()
    End Sub

#End Region


End Class
